<section class="gh-canvas gh-canvas-sticky">
    <GhCanvasHeader class="gh-canvas-header sticky break tablet post-header">
        <GhCustomViewTitle @title={{if this.session.user.isContributor (concat this.config.blogTitle " posts") "Posts"}} @query={{reset-query-params "posts"}} />

        <section class="view-actions">
            <PostsList::ContentFilter
                @currentUser={{this.session.user}}
                @selectedType={{this.selectedType}}
                @availableTypes={{this.availableTypes}}
                @onTypeChange={{this.changeType}}
                @selectedVisibility={{this.selectedVisibility}}
                @availableVisibilities={{this.availableVisibilities}}
                @onVisibilityChange={{this.changeVisibility}}
                @selectedAuthor={{this.selectedAuthor}}
                @availableAuthors={{this.availableAuthors}}
                @onAuthorChange={{this.changeAuthor}}
                @selectedTag={{this.selectedTag}}
                @availableTags={{this.availableTags}}
                @onTagChange={{this.changeTag}}
                @selectedOrder={{this.selectedOrder}}
                @availableOrders={{this.availableOrders}}
                @onOrderChange={{this.changeOrder}}
            />

            <LinkTo @route="editor.new" @model="post" class="gh-btn gh-btn-primary view-actions-top-row" data-test-new-post-button={{true}}><span>New post</span></LinkTo>
        </section>
    </GhCanvasHeader>

    <section class="view-container content-list">
        <ol class="posts-list gh-list {{unless this.postsInfinityModel "no-posts"}} feature-memberAttribution">

            {{#each this.postsInfinityModel as |post|}}
                <PostsList::ListItem
                    @post={{post}}
                    data-test-post-id={{post.id}}
                />
            {{else}}
                <li class="no-posts-box" data-test-no-posts-box>
                    <div class="no-posts">
                        {{#if this.showingAll}}
                            {{svg-jar "posts-placeholder" class="gh-posts-placeholder"}}
                            <h4>Start creating content.</h4>
                            <LinkTo @route="editor.new" @model="post" class="gh-btn gh-btn-green" data-test-link="write-a-new-post">
                                <span>Write a new post</span>
                            </LinkTo>
                        {{else}}
                            <h4>No posts match the current filter</h4>
                            <LinkTo @route="posts" @query={{hash type=null author=null tag=null}} class="gh-btn" data-test-link="show-all">
                                <span>Show all posts</span>
                            </LinkTo>
                        {{/if}}
                    </div>
                </li>
            {{/each}}
        </ol>

        <GhInfinityLoader
            @infinityModel={{this.postsInfinityModel}}
            @scrollable=".gh-main"
            @triggerOffset={{1000}} />
    </section>

    {{outlet}}
</section>
